您现在的位置:首页 > 傻言傻语 > 两条腿走路
两条腿走路
[发布时间:2012-03-09  阅读次数: 3047]

这篇日志本应该早半个月写,或者迟半个月写。这几天过得实在太阴沉了,所以提前写出来,鼓舞一下自己。大论文终于基本上写完了,从动笔到写完足足八个月时间,从真正撰写到写完也花了将近四个月时间,个中滋味只有经历过才能体会。2011年7月1日,开始动笔写大论文。一天时间,憋了一页纸,得到的结论:我根本没准备好怎么写,而且我至少还得再写一篇小论文才有可能完成大论文。之后开始写那篇被Infocom毙掉的小论文,写完后又去做那个失败的网站项目,做完后又带着学生们四处打比赛,大论文早扔到了一边去。一直到2011年11月上旬从成都回来,才又重新开始写大论文。这次动笔前我好好规划了一下。计划写六章,除去绪论和总结,主体写四章。其中第二章是基础知识和国内外研究现状,需要阅读大量文献。第三章来自我已发表的小论文,第四章来自我已录用的小论文,第五章还没有任何支撑,只能一边写一边想。于是计划11月完成第二章,12月上旬和中旬完成第三章和第四章,12月下旬到2月,两个半月时间,完成第五章。11月剩下的时间,阅读了大量文献,并且从徐老师那里学到了EndNote和Aurora这些好用的工具,所谓工欲善其事,必先利其器。这一阶段虽然比较痛苦,总算很顺利,11月底,基本完成第二章,虽然只憋出来17页。12月1日,开始第三章。第三章内容来源于第一篇小论文,因此很快就拼出来7、8页,等到写仿真数据的时候发现原来的实验程序写得不太好,于是狠狠心,花了点时间把程序重写了遍。12月10日左右,顺利写完第三章。这时论文进行到了30页。12月10日,开始第四章。第四章内容来源与第二篇小论文,但是第二篇小论文最后的程序有错,这个我早就清楚,因此必须重写。遗憾的是,写了一部分后发现第二篇小论文的模型也是错的,这下可惨了。此时有两套方案,一是将错就错,反正不会有人细读;二是重新做这部分内容。我考虑再三,决定选择第二条路。既然已经发现错了,还是做得让自己不留遗憾好。重新设计模型,重新编写程序,最后的结果居然非常不理想,经常会无法算出有效解。这下可惨了,和哥哥讨论后发现他给我的这个所谓的SF算法就是存在这个问题,让我苦恼不已。我思考许久,决定自己设计一套算法。虽然只是个启发式搜索算法,效果还不错。哥哥更狠,把我的启发式搜索算法斩头去尾,加上他的SF算法,变出来一套效果更好的算法。不过这次我可不要了,直接忽略。这时论文进行到了50页。这样到12月25号左右,虽然时间有些超过,总算基本完成第四章,只剩下实验仿真数据了。实验要算三组,一套普通方案,一套SF算法,一套我的贪心搜索算法,其中SF算法由于复杂度较高,我估算了下算完100个节点的可能要电脑连续运算40多天。为了不留遗憾,决定让办公室里的电脑开始这种连续运算。12月27号,电脑开始连续运算,我自己开始第五章的撰写。此时对于第五章还一点思路都没有。哥哥说他今年的一篇Infocom已经对我第五章模型提出了一个初步方案,于是我花了几天时间拜读了他这篇英文论文,看完以后大失所望,这哪是初步方案,明明是全部解决了。我本来还想在第五章再做一篇小论文。于是又是苦恼不已,不知道第五章该如何下手。哥哥的意思,毕业要紧,不要想那么多了,把他的小论文内容稍作修改搬过去吧。这时候我也没有更好的办法了,搬!花了10天左右时间,论文又推进了十几页。模型整理完毕,开始写程序。这个程序实在太太太恐怖了。最恐怖的地方四重循环套四重循环,直把我算得头昏眼花,丢了负号、少了小数点……这种低级错误在这种复杂的程序面前总是会经常出现,而且造成的坏影响是巨大的。仅仅三个节点的超小型网络就有几百个变量在里面,而为了验证我程序的正确性,我不得不列出十几张大表手工运算三个节点的网络。大年三十,算!正月初一,算!经过一阵天昏地暗的运算,终于得到了一个正确的程序,遗憾的是,只有20个节点的网络,由于变量太多,无解……此时进入了一个死胡同,哥哥Infocom上的文章虽然能得到最优解,却只能对一些小型网络得到最优解,根本无法求解大型网络。而我要想完成第五章,必须至少完成50个节点的网络的计算,否则无法和前面章节相匹配。此时,我终于死在这里了。于是开始构思是否能自己设计一套算法来求解,是否能够借鉴第四章的思路自己设计算法。可是在多跳网络下要考虑的因素实在太多,我思考了一下,毫无头绪,但又不得不思考,但思考了还是毫无头绪……这样反复思考,几天下来,有一天晚上做了一个梦,梦到我写的程序是错的。醒来以后仔细想想那个地方没错,但是沿着另一条思路确实能走出一片天。赶紧把思路整理出来,得到六个定义,五大步骤,四个关键点,n重迭代……一套处理多跳网络的贪心算法求解策略,终于完成了!这样我算是超水平完成了第五章,超越了我哥哥的思路。此时已经是2月1号左右,下面的工作是写程序,虽然中间调试又花了不少时间,但整体还是顺利的,得到的仿真结果也很不错。2月15号左右,第五章完成了。同时,实验室里的电脑经过连续50天的运算,也把第四章的数据全部算出。后面由于写自然基金,大论文基本上处于停滞状态。2月29号,总结致谢等完成,全部页数86页。哥哥回信说“论文差不多就这样了。”3月7号,从第五章提炼出来的小论文完成。总结整个大论文过程,我有好几次可以偷懒的地方,但我没有偷懒,沿着精益求精的路闯了过去,最终,虽然花的时间较多,却完成了一篇绝对问心无愧的大论文。而在此过程中,我也充分得到了享受。在即将拿到博士学位的最后几个月里,和在读博士的五年时间里,我已经充分明白了什么是理论研究,这和做工程项目是完全不同的。我已经有了十年做工程项目的经验,我是一个当之无愧的软件大师。而现在,我也有了理论研究的基础,还有哥哥在前方给我指引,如果说工程实践和理论研究分别对应着两条腿,虽然二者不能融合,但我两条腿都已发育成熟。将来,我要用好这两条腿,一步一步向前走。